From: Neha Doijode Date: Mon, 21 Mar 2011 21:26:04 +0000 (+0530) Subject: NotificationDaemon: don't notify for resident notifications when application is focused X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~8550 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=8798ec653d9f29af0f7fe80a90465557e24d98c6;p=gnome-shell.git NotificationDaemon: don't notify for resident notifications when application is focused The applications have to have a way of keeping resident notifications updated without unnecessarily notifying the user with the information the user is already seeing in the application window. https://bugzilla.gnome.org/show_bug.cgi?id=630847 --- diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js index 2a59d9833..e807af486 100644 --- a/js/ui/notificationDaemon.js +++ b/js/ui/notificationDaemon.js @@ -346,7 +346,7 @@ NotificationDaemon.prototype = { notification.setTransient(hints['transient'] == true); let sourceIconActor = source.useNotificationIcon ? this._iconForNotificationData(icon, hints, source.ICON_SIZE) : null; - source.notify(notification, sourceIconActor); + source.processNotification(notification, sourceIconActor); }, CloseNotification: function(id) { @@ -445,12 +445,17 @@ Source.prototype = { this._trayIcon = null; }, - notify: function(notification, icon) { + processNotification: function(notification, icon) { if (!this.app) this._setApp(); if (!this.app && icon) this._setSummaryIcon(icon); - MessageTray.Source.prototype.notify.call(this, notification); + + let tracker = Shell.WindowTracker.get_default(); + if (notification.resident && this.app && tracker.focus_app == this.app) + this.pushNotification(notification); + else + this.notify(notification); }, handleSummaryClick: function() {